- Kubernetes
- 컴퓨터의 확장성
- 컨테이너는 머신 한 대를 효율적으로 관리하는 구조
- 애플리케이션의 마이크로서비스화 이후 여러 머신을 컨트롤해야 함
- scale up, scale out의 방법 존재
- 스케일 업은 단일 환경만 사용해야 할 경우 유리
- 그러나 가격이 비싸기에, 저렴한 머신 여러 대를 사용하는 것이 조금 더 효율적
- 스케일 아웃
- 클라우드의 등장 이후 보편화
- Hadoop의 등장 이후 프레임워크가 분산 처리를 맡아 더 편리해짐
- 컨테이너 오케스트레이션
- 기능
- 서비스 검색과 로드 밸런싱
- 저장소 오케스트레이션
- 자동 롤아웃, 롤백
- 배포의 바람직한 상태와 실제 상태를 구분해 일관성 확보
- 리소스 관리와 일정 제어
- 자가 복구
- 시크릿과 설정 관리
- 아키텍처
- 쿠버네티스 API
- 컨트롤 플레인에서 json 형식의 RESTful API를 받아 실행
- API 객체는 시스템 상태를 나타내는 기본 단위
- 객체
- 파드
- 최소 배포 단위
- 하나 이상의 컨테이너
- 파드 내 컨테이너는 IP와 저장소 볼륨 공유
- atomic하여 완전히 생성되든가, 전혀 생성되지 않든가 둘 중에 하나
- Deployment
- Service
- 일련의 파드를 네트워크 경유로 접속할 수 있도록 공개하는 객체
- ConfigMap
- 다른 객체가 필요한 설정을 저장하는 객체
- 키-값 방식